// 新增页面头部按钮

import init from './init';
import instant from '../../../pageIns';
import cancelCode from '../request/cancelCode';

const formLists = ['bd_psndoc', 'hi_psnjob_h', 'hi_psnorg_h'];
const formField = ['psndocForm', 'psnjobForm', 'psnorgForm'];

export default function(props, btnCode) {

    const {form, pk_psnjob, cardTable} = this.props;

    if (btnCode === 'Save') {
        // 点击保存
        this.checkNewPersonStep();
    } 
    else if (btnCode === 'StagingSave') {
        // 暂存
        this.stagingSave();
    } 
    else if (btnCode === 'Cancel') {
        const {
            addPageTemplate
        } = this.props;
        // 如果是新增页面过来的点击取消直接回到主表格
        if(this.props.pageFrom === 'add') {
            this.goBack();
        }
        else {
            let ctrtData = cardTable.getAllRows('hi_psndoc_ctrt');
            this.props.ctrtCodesRollBack(ctrtData)
            // 点击取消时要恢复未编辑前的数据，并且addpagetemplate储存的就是
            init.call(this);
            this.props.cancelEdit();
            if(instant.ins) {
                // 这里因为平台修改表单状态的方法，使用的是填充进表格的数据还原
                // 所以这里只能是强制将我的原有数据，填充进它的myForm
                // 平台如果改了这个地方，那可以删掉了
                setTimeout(() => {
                    formLists.map((key, index) => {
                        let formValues = addPageTemplate[formField[index]][key].rows[0].values;

                        instant.ins['myForm'][key]['state']['form'] = {
                            ...formValues
                        };
                        instant.ins['myForm'][key]['state']['formBack'] = {
                            ...formValues
                        };
                    });
                    this.forceUpdate();
                }, 600);
            }
        }
    }
    else if(btnCode === 'Edit') {
        // 保存成功后，显示的修改按钮
        this.changeToEditStatus(pk_psnjob);
    }
}
